/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.biblioteca.Autor;
import mx.its.dsw2.biblioteca.dao.AutorDaoLocal;
import mx.its.dsw2.biblioteca.enumeracion.EstadoTransaccion;

/**
 *
 * @author Piter
 */
@Stateless
public class AutorBl implements AutorBlLocal {
    @EJB
    private AutorDaoLocal autorDao;
    //este es otro comentario
    //llama a un enterprice java beans con el metodo de inyección de objetos
    //pues cuando se necesite el mismo contenedor de EJB's creara el objeto e iniciara la variable
    
     @Override
    public EstadoTransaccion Register(Autor author) {
         if(autorDao.findDuplicity(author)){
             return EstadoTransaccion.INCOMPLETO;
         }else{
             autorDao.create(author);
             return EstadoTransaccion.COMPLETO;
         }
        
          
    }

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoTransaccion modify(Autor author) {
        if(author.getId()==null || autorDao.find(author.getId())==null){
            return EstadoTransaccion.INCOMPLETO;
         }
    else{
    autorDao.edit(author);
    return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion delete(Autor author) {
         if(author.getId()==null || autorDao.find(author.getId())==null){
            return EstadoTransaccion.INCOMPLETO;
         }
    else{
    autorDao.remove(author);
    return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public List<Autor> getAll() {
        return autorDao.findAll();
    }

    @Override
    public Autor findById(int idautor) {
        return autorDao.find(idautor);
    }
     
}

